Удаляет текущую запись.
[id(103433)] HRESULT Delete( [out, retval] long* Value );
|
Параметры |
Описание |
|
Value |
Возвращаемое значение |
Количество записей, удаленных из таблицы базы данных.
Выполняет удаление текущей записи по следующему алгоритму:
|
№ |
Описание |
|
1. |
Если у текущего пользователя есть права на удаление записи (значение свойства IDataset::CanDelete равно "True"), то вызывает событие IDatasetEvents::OnDatasetBeforeDelete. Иначе метод завершает работу. |
|
2. |
Если в событии IDatasetEvents::OnDatasetBeforeDelete удаление записи не было отменено, то метод вызывает событие IDatasetEvents::OnDatasetBeforePositionChange. Иначе метод завершает работу. |
|
3. |
Удаляет текущую запись и переводит набор данных в состояние просмотра (свойству IDataset::State устанавливает значение "dstBrowse"). |
|
4. |
Вызывает событие IDatasetEvents::OnDatasetAfterDelete. |
|
5. |
Вызывает событие IDatasetEvents::OnDatasetAfterPositionChange. |
|
6. |
Возвращает "1", если удаление записи выполнено успешно. Иначе возвращает "0". |
|
№ |
Описание |
|
1. |
Если запрос на удаление является генерируемым (значение свойства IDBDataset::GenerateDeleteQuery равно "True"), то метод IDataset::Delete удалит все записи, значение ключевого поля (IDataset::KeyDataField) которых равно значению ключевого поля текущей записи. |
|
2. |
Запрос на удаление записей определен пользователем, если значение свойства IDBDataset::GenerateDeleteQuery равно "False". |
|
№ |
Описание |
|
1. |
Набор данных должен быть не пустым. |
|
2. |
Набор данных должен быть активным (значение свойства IDataset::State не равно "dstInactive"). |
|
Copyright (с) Terrasoft 2002-2012.
|